home *** CD-ROM | disk | FTP | other *** search
- Listing 5 - a class hierarchy that overrides some but not overloaded
- virtual function
-
- #include <iostream.h>
-
- class B
- {
- public:
- virtual void f(int i);
- virtual void f(long L);
- virtual void f(char *p);
- };
-
- void B::f(int i)
- {
- cout << "B::f(int i = " << i << ")\n";
- }
-
- void B::f(long L)
- {
- cout << "B::f(long L = " << L << ")\n";
- }
-
- void B::f(char *p)
- {
- cout << "B::f(char *p = \"" << p << "\")\n";
- }
-
- class C : public B
- {
- public:
- void f(int i); // virtual
- };
-
- void C::f(int i)
- {
- cout << "C::f(int i = " << i << ")\n";
- }
-
- class D : public C
- {
- public:
- void f(long L); // virtual
- };
-
- void D::f(long L)
- {
- cout << "D::f(long L = " << L << ")\n";
- }
-